From: Ray Strode Date: Mon, 29 Jul 2013 12:46:37 +0000 (-0400) Subject: authPrompt: cancel user verification if verifying when reset X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3711 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f5b2febf133fc559b406b406f6ac84fd8ca77b54;p=gnome-shell.git authPrompt: cancel user verification if verifying when reset authPrompt.reset() currently only leaves the authPrompt in a sane state if the user isn't verifying. This commit makes sure to cancel verification if a reset happens while verification is in process. https://bugzilla.gnome.org/show_bug.cgi?id=683437 --- diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index b84e949eb..253582e66 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -233,8 +233,10 @@ const AuthPrompt = new Lang.Class({ }, _onReset: function() { - if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) + if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) { + this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; this.reset(); + } }, _onShowLoginHint: function(verifier, message) { @@ -413,7 +415,12 @@ const AuthPrompt = new Lang.Class({ }, reset: function() { + let oldStatus = this.verificationStatus; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; + + if (oldStatus == AuthPromptStatus.VERIFYING) + this._userVerifier.cancel(); + this._queryingService = null; this.clear(); this._message.opacity = 0; @@ -460,9 +467,6 @@ const AuthPrompt = new Lang.Class({ }, cancel: function() { - if (this.verificationStatus == AuthPromptStatus.VERIFYING) - this._userVerifier.cancel(); - this.reset(); } });